﻿using BCDto.MySql.Admin;
using BCDto.OA.Attendance.AttendanceLocation;
using System.Collections.Generic;

namespace BCService.OA.Attendance.AttendanceLocation
{
    /// <summary>
    /// 打卡地址服务
    /// </summary>
    public interface IAttendanceLocationService
    {
        /// <summary>
        /// 获取考勤打卡地址信息
        /// </summary>
        /// <param name="locationId">地址Id</param>
        /// <returns></returns>
        AttendanceLocationDto Get(long locationId);

        /// <summary>
        ///删除考勤打卡地址信息
        /// </summary>
        /// <param name="admin">当前管理员</param>
        /// <param name="locationId">地址Id</param>
        /// <returns></returns>
        int Delete(AdminDto admin, long locationId);


        /// <summary>
        /// 新创建打卡地址信息
        /// </summary>
        /// <param name="admin">当前登录管理员</param>
        /// <param name="dto">请求的打卡地址信息</param>
        /// <returns></returns>
        AttendanceLocationDto Create(AdminDto admin, AttendanceLocationRequestDto dto);

        /// <summary>
        /// 修改指定的打卡地址信息
        /// </summary>
        /// <param name="admin">当前管理员</param>
        /// <param name="locationId">地址Id</param>
        /// <param name="dto">修改信息</param>
        /// <returns></returns>
        AttendanceLocationDto Update(AdminDto admin, long locationId, AttendanceLocationRequestDto dto);

        /// <summary>
        /// 获取考勤打卡地址信息列表
        /// </summary>
        /// <returns></returns>
        List<AttendanceLocationDto> GetList();

        /// <summary>
        /// 获取考勤打卡地址信息列表
        /// </summary>
        /// <returns></returns>
        List<AttendanceLocationDto> GetListByModeIdAndGroupId(long groupId);

    }
}
